package site.lanmushan.framework.mapper.api;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
import org.springframework.context.annotation.Conditional;
import site.lanmushan.framework.mapper.annotation.ConditionalFalseHandler;
import site.lanmushan.framework.mapper.provider.SelectAllListProvider;
import site.lanmushan.framework.mapper.wrapper.QueryWrapper;
import tk.mybatis.mapper.annotation.RegisterMapper;

import java.util.List;

/**
 * @author Administrator
 */
@RegisterMapper
@Conditional(value = ConditionalFalseHandler.class)
public interface SelectAllListWrapperMapper<T>  {
    /**
     * 根据QueryWrapper查询
     *
     * @param queryWrapper
     * @return
     */
    @SelectProvider(type = SelectAllListProvider.class,
            method = "dynamicSQL")
    List<T> selectAllList(@Param("query") QueryWrapper queryWrapper);

}
